/* eslint-disable */

import { AxiosRequestConfig } from 'axios';
import { request } from '../../utils/request';

export interface PostCompanyPageRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    current: number;
    pageSize: number;
    total: number;
    list: Array<{
      parentCompanyStr: string;
      companyPhotoList: Array<{
        companyId: number; // 公司ID
        id: number;
        photoUsing: number; // 是否使用中 解释：图片删除了，Fusing=0 默认值：0 定义： 0 未使用 1 使用中
        orderIndex: number; // 图片顺序 多图的顺序index 默认：0 代表第一张
        photoPath: string; // 图存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
        photoUrl: string; // 图片url 解释：拼接的下载url
        md5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
        photoSize: number; // 源图文件大小
        photoHeight: number; // 源图高
        photoWidth: number; // 源图宽
        qCfs: string; // Q音图存储 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
        qUrl: string; // Q音图片url 解释：下载url
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
      }>;
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    }>;
  };
  traceId: string;
}

/**
 * 分页列表
 */
export async function postCompanyPage(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostCompanyPageRes> {
  return request(data, {
    url: '/company/page',
    method: 'post',
    ...config,
  });
}

export interface GetCompanyDetailCompanyIdRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    parentCompanyStr: string;
    companyPhotoList: Array<{
      companyId: number; // 公司ID
      id: number;
      photoUsing: number; // 是否使用中 解释：图片删除了，Fusing=0 默认值：0 定义： 0 未使用 1 使用中
      orderIndex: number; // 图片顺序 多图的顺序index 默认：0 代表第一张
      photoPath: string; // 图存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
      photoUrl: string; // 图片url 解释：拼接的下载url
      md5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
      photoSize: number; // 源图文件大小
      photoHeight: number; // 源图高
      photoWidth: number; // 源图宽
      qCfs: string; // Q音图存储 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
      qUrl: string; // Q音图片url 解释：下载url
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
    }>;
    companyId: number; // 公司ID
    companyName: string; // 公司名
    otherName: string; // 其它名
    type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
    cpMain: string; // 签约公司主体
    companyDesc: string; // 公司介绍
    createUser: string; // 创建人
    insertTime: string; // 插入时间
    modifyTime: string; // 修改时间
    parentCompany: number; // 所属父公司,同t_company.Fcompany_id
    cpCode: string; // 统一社会信用代码
    belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
    department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
    health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
    healthRemarks: string; // 健康度备注
    risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
    riskRemarks: string; // 风险评估备注
  };
  traceId: string;
}

/**
 * 详情
 */
export async function getCompanyDetailCompanyId(
  companyId: string | number,
  data?: any,
  config?: AxiosRequestConfig,
): Promise<GetCompanyDetailCompanyIdRes> {
  return request(data, {
    url: `/company/detail/${companyId}`,
    method: 'get',
    ...config,
  });
}

export interface PostCompanyChildPageRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    current: number;
    pageSize: number;
    total: number;
    list: Array<{
      parentCompanyStr: string;
      companyPhotoList: Array<{
        companyId: number; // 公司ID
        id: number;
        photoUsing: number; // 是否使用中 解释：图片删除了，Fusing=0 默认值：0 定义： 0 未使用 1 使用中
        orderIndex: number; // 图片顺序 多图的顺序index 默认：0 代表第一张
        photoPath: string; // 图存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
        photoUrl: string; // 图片url 解释：拼接的下载url
        md5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
        photoSize: number; // 源图文件大小
        photoHeight: number; // 源图高
        photoWidth: number; // 源图宽
        qCfs: string; // Q音图存储 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
        qUrl: string; // Q音图片url 解释：下载url
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
      }>;
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    }>;
  };
  traceId: string;
}

/**
 * 子公司-分页列表
 */
export async function postCompanyChildPage(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostCompanyChildPageRes> {
  return request(data, {
    url: '/company/childPage',
    method: 'post',
    ...config,
  });
}

export interface PostCompanyAddRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {};
  traceId: string;
}

/**
 * 添加公司
 */
export async function postCompanyAdd(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostCompanyAddRes> {
  return request(data, {
    url: '/company/add',
    method: 'post',
    ...config,
  });
}

export interface PostCompanyUpdateRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {};
  traceId: string;
}

/**
 * 编辑公司
 */
export async function postCompanyUpdate(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostCompanyUpdateRes> {
  return request(data, {
    url: '/company/update',
    method: 'post',
    ...config,
  });
}

export interface PostCompanySearchRes {
  code: string; // 返回编码
  msg: string; // 返回消息
  data: {
    current: number;
    pageSize: number;
    total: number;
    list: Array<{
      parentCompanyStr: string;
      companyPhotoList: Array<{
        companyId: number; // 公司ID
        id: number;
        photoUsing: number; // 是否使用中 解释：图片删除了，Fusing=0 默认值：0 定义： 0 未使用 1 使用中
        orderIndex: number; // 图片顺序 多图的顺序index 默认：0 代表第一张
        photoPath: string; // 图存储 解释：cos中路径，用竖线隔开，可用于生成下载url。 Appid|Bucket|ObjectPath
        photoUrl: string; // 图片url 解释：拼接的下载url
        md5: string; // 文件md5 解释：文件md5值，用于判断文件是否变化
        photoSize: number; // 源图文件大小
        photoHeight: number; // 源图高
        photoWidth: number; // 源图宽
        qCfs: string; // Q音图存储 解释：跟Q音曲库保持一致；存储可能有多种，cfs、cos、http
        qUrl: string; // Q音图片url 解释：下载url
        insertTime: string; // 插入时间
        modifyTime: string; // 修改时间
      }>;
      companyId: number; // 公司ID
      companyName: string; // 公司名
      otherName: string; // 其它名
      type: number; // 公司类型 默认值：0 定义如下： 0 未知 1 合作公司 2 免费授权 3 优选内容B 4 优选内容A 5 优选内容C
      cpMain: string; // 签约公司主体
      companyDesc: string; // 公司介绍
      createUser: string; // 创建人
      insertTime: string; // 插入时间
      modifyTime: string; // 修改时间
      parentCompany: number; // 所属父公司,同t_company.Fcompany_id
      cpCode: string; // 统一社会信用代码
      belongTo: string; // 归属系 记录公司归属集团系，常用户对某个集团级公司进行内容评估时使用
      department: number; // 优选对应管理部门 记录优选公司当前对应的对接及管理部门 默认0，单选 0-不适用 1-版权 2-音乐人 3-优选
      health: number; // 公司健康度 记录公司在一个时间段内的健康度评定结果，对于健康度较差的厂牌会有针对性的惩罚措施 默认0，单选 0-未评定 1-优秀 2-良好 3-一般 4-整改
      healthRemarks: string; // 健康度备注
      risk: number; // 风险评估 记录公司在一个时间段内的风险等级评估结果，对于风险较高的厂牌会有针对性的规避措施 默认0，单选 0-未评估 1-忽略 2-较低 3-一般 4-高危
      riskRemarks: string; // 风险评估备注
    }>;
  };
  traceId: string;
}

/**
 * 根据厂牌ID或名称 搜索
 */
export async function postCompanySearch(
  data?: any,
  config?: AxiosRequestConfig,
): Promise<PostCompanySearchRes> {
  return request(data, {
    url: '/company/search',
    method: 'post',
    ...config,
  });
}
